ip/ffmpeg: change sample format conversions
authorihy123 <aladinandreyy@gmail.com>
Mon, 25 Aug 2025 08:17:06 +0000 (11:17 +0300)
committerSebastian Ramacher <sramacher@debian.org>
Fri, 12 Sep 2025 21:00:35 +0000 (23:00 +0200)
Gbp-Pq: Name 0015-ip-ffmpeg-change-sample-format-conversions.patch

ip/ffmpeg.c

index 2cb07671c497236e90a3159d3ffb0a74e07abbc8..2d3c610f21c3538301bdf21c673f54dece9bd44f 100644 (file)
@@ -157,13 +157,11 @@ static void ffmpeg_set_sf_and_swr_opts(SwrContext *swr, AVCodecContext *cc,
        av_opt_set_int(swr, "in_sample_rate", cc->sample_rate, 0);
        av_opt_set_int(swr, "out_sample_rate", out_sample_rate, 0);
 
-       *out_sample_fmt = cc->sample_fmt;
-       switch (*out_sample_fmt) {
-               case AV_SAMPLE_FMT_U8:
-                       sf |= sf_bits(8) | sf_signed(0);
-                       break;
-               case AV_SAMPLE_FMT_S32:
+       switch (cc->sample_fmt) {
+               case AV_SAMPLE_FMT_FLT: case AV_SAMPLE_FMT_FLTP:
+               case AV_SAMPLE_FMT_S32: case AV_SAMPLE_FMT_S32P:
                        sf |= sf_bits(32) | sf_signed(1);
+                       *out_sample_fmt = AV_SAMPLE_FMT_S32;
                        break;
                default:
                        sf |= sf_bits(16) | sf_signed(1);